泰科智能 ASCII編程詳細(xì)例子解析
ASCII編程手冊(cè)
1. 概述
這個(gè)手冊(cè)描述使用ASCII接口控制泰科智能APM, APS, APX等系列驅(qū)動(dòng)器的方法,適合對(duì)運(yùn)動(dòng)控制理論和操作,泰科智能驅(qū)動(dòng)器及MCK軟件有一定基礎(chǔ)知識(shí)的人使用。
1.1. 泰科智能ASCII接口
泰科智能ASCII接口指的是使用一系列的指令集,通過(guò)RS232連接,來(lái)操作和監(jiān)控泰科APM, APS, APX系列的驅(qū)動(dòng)器。
例如,通過(guò)MCK軟件對(duì)驅(qū)動(dòng)器進(jìn)行過(guò)配置之后,可以通過(guò)ASCII接口界面進(jìn)行程序控制:
1:使能驅(qū)動(dòng)器工作在編程位置控制模式
2:軸回零點(diǎn)
3:編程一系列運(yùn)動(dòng)并監(jiān)控位置、速度及其他的實(shí)時(shí)變量
1.2. 通訊協(xié)議
Baud Rate | 9600到115200(上電或復(fù)位后自動(dòng)設(shè)置為默認(rèn)值9600)參考波特率設(shè)置 |
Data Format | N,8,1(即無(wú)奇偶校驗(yàn),8位數(shù)據(jù)位,1位停止位) |
Flow Control | None |
1.3. 接口界面
可以通過(guò)單片機(jī)串口,或串口助手使用,界面如下(配置串口后打開(kāi)串口發(fā)送命令):
<span style="font-size:14.0pt;font-family:"">2.指令集
本節(jié)列出了ASCII編程的指令集及其使用方法。
2.1. ASCII信息格式
發(fā)送ASCII數(shù)據(jù)的語(yǔ)法如下:
[<< span="">節(jié)點(diǎn)ID>] << span="">指令碼> [<< span="">指令參數(shù)>…] << span="">回車(chē)>
其中:
[<< span="">節(jié)點(diǎn)ID>]: 指多點(diǎn)網(wǎng)絡(luò)中某個(gè)節(jié)點(diǎn)的地址,范圍0-127,后面要跟空格。
<< span="">指令碼>: 是下面給出的指令代碼,只有一個(gè)字母,后面要跟空格,如果是復(fù)位命令則直接回車(chē)即可。
指令代碼 | 作用 |
s | 設(shè)置RAM或Flash中的一個(gè)變量值 |
g | 讀取RAM或Flash中的一個(gè)變量值 |
c | 拷貝變量:從RAM到Flash或者從Flash到RAM |
r | 復(fù)位驅(qū)動(dòng)器 |
t | 軌跡生成命令(用于位置控制模式) |
i | 讀/寫(xiě)程序寄存器中的值 |
[<< span="">指令參數(shù)>…: ]指明命令做什么,如何去做。如果有多個(gè)參數(shù),中間需用空格隔開(kāi)。
<< span="">回車(chē)>: 回車(chē)鍵,指令結(jié)束。
變量所表代表的意義參考后面HU附錄AUH。
示例:
指令 返回值 說(shuō)明
s r0x30 1200 ok 設(shè)置RAM中0x30變量(位置環(huán)比例增益)為1200,ok表示成功執(zhí)行
g r0x30 v 1200 讀取RAM中0x30變量(位置環(huán)比例增益)的值,返回值是1200
g f0x17 e 15 意圖讀取Flash中0x17變量(實(shí)際電機(jī)位置)的值。返回值e 15表示讀取的值不存在(實(shí)際電機(jī)位置只在RAM中)
若返回e << span="">錯(cuò)誤號(hào)#>,請(qǐng)參考HHUTU錯(cuò)誤代碼UTHUH中查看錯(cuò)誤原因.
<span style="font-size:12.0pt;font-family:"">
2.2. 設(shè)置(s)命令
S 命令用來(lái)給可寫(xiě)入的驅(qū)動(dòng)器變量賦值。
S 命令的語(yǔ)法格式如下:
[可選節(jié)點(diǎn)ID] s << span="">存儲(chǔ)區(qū)><< span="">變量ID> << span="">數(shù)值>…<< span="">回車(chē)>
其中:
?[可選節(jié)點(diǎn)ID]: 是多點(diǎn)CAN網(wǎng)絡(luò)中的CAN節(jié)點(diǎn)地址。范圍是0-127. 后面要跟一個(gè)空格。
?s: 是指令代碼。后面跟一個(gè)空格
?<< span="">存儲(chǔ)區(qū)>: 指出設(shè)置的變量在哪個(gè)存儲(chǔ)區(qū)。f =flash, r = RAM
?<< span="">變量ID>: 指出要設(shè)置的變量。變量ID的格式可以是十進(jìn)制的,也可以是十六進(jìn)制的。
?<< span="">數(shù)值>: 是要設(shè)置的變量的新值。數(shù)值可以整數(shù)或者十六進(jìn)制格式發(fā)送。如果需要多個(gè)值,中間請(qǐng)以空格隔開(kāi)。
<< span="">回車(chē)>: 回車(chē)鍵,指令結(jié)束。
發(fā)送過(guò)s命令后,驅(qū)動(dòng)器會(huì)有以下返回:
? ok<< span="">回車(chē)> 表示指令被正常接收
? e << span="">錯(cuò)誤號(hào)>(回車(chē)) 表示指令無(wú)法被接收。請(qǐng)參考HHUTU錯(cuò)誤代碼UTHUH中查看錯(cuò)誤原因。
s命令示例
指令 返回值 說(shuō)明
s r0x30 1200 ok 設(shè)置RAM區(qū)變量0x30(位置環(huán)比例增益)為1200.返回ok表示指令被正常執(zhí)行。
s f0x30 1200 ok 設(shè)置flash區(qū)變量0x30(位置環(huán)比例增益)為1200.返回ok表示指令被正常執(zhí)行。
s r 0x30 1000 e 33 本想修改RAM區(qū)中的0x30為1200.返回33號(hào)錯(cuò)誤。注意變量ID后有空格。
2.3. 獲?。?/span>g)命令
g 命令用來(lái)獲取驅(qū)動(dòng)器變量的值。
g 命令的語(yǔ)法格式如下:
[可選節(jié)點(diǎn)ID] g << span="">存儲(chǔ)區(qū)><< span="">變量ID><< span="">回車(chē)>
其中:
?[可選節(jié)點(diǎn)ID]: 是多點(diǎn)CAN網(wǎng)絡(luò)中的CAN節(jié)點(diǎn)地址。范圍是0-127. 后面要跟一個(gè)空格。
?g: 是指令代碼。后面跟一個(gè)空格
?<< span="">存儲(chǔ)區(qū)>: 指出設(shè)置的變量在哪個(gè)存儲(chǔ)區(qū)。f =flash, r = RAM
?<< span="">變量ID>: 指出要獲取的變量。變量ID的格式可以是十進(jìn)制的,也可以是十六進(jìn)制的。
?<< span="">回車(chē)>: 回車(chē)鍵,指令結(jié)束。
發(fā)送過(guò)g命令后,驅(qū)動(dòng)器會(huì)有以下返回:
? v [數(shù)值]<< span="">回車(chē)> 其中數(shù)值表示變量中的內(nèi)容。如果變量中包含多個(gè)數(shù)值,中間會(huì)以空格隔開(kāi)。
? e << span="">錯(cuò)誤號(hào)>(回車(chē)) 表示指令無(wú)法被接收。請(qǐng)參考HHUTU錯(cuò)誤代碼UTHUH中查看錯(cuò)誤原因。
g命令示例
指令 返回值 說(shuō)明
g r0x30 v 1200 獲取RAM區(qū)變量0x30(位置環(huán)比例增益)的值。本例中顯示返回的值是1200。
g f0x17 e 15 意欲獲取flash中變量0x17(電機(jī)實(shí)際位置)的值。返回了15號(hào)錯(cuò)誤(請(qǐng)求頁(yè)中不存在該變量)。注意,電機(jī)實(shí)際位置只存儲(chǔ)在RAM中。
2.4. 復(fù)制(c)命令
c 命令用來(lái)將一個(gè)變量的值從一個(gè)存儲(chǔ)區(qū)拷貝到另外一個(gè)存儲(chǔ)區(qū)(RAM到flash,或者flash到RAM)。
c 命令的語(yǔ)法格式如下:
[可選節(jié)點(diǎn)ID] c << span="">存儲(chǔ)區(qū)><< span="">變量ID><< span="">回車(chē)>
其中:
?[可選節(jié)點(diǎn)ID]: 是多點(diǎn)CAN網(wǎng)絡(luò)中的CAN節(jié)點(diǎn)地址。范圍是0-127. 后面要跟一個(gè)空格。
?c: 是指令代碼。后面跟一個(gè)空格
?<< span="">存儲(chǔ)區(qū)>: 指出設(shè)置的變量在哪個(gè)存儲(chǔ)區(qū)。f = flash, r = RAM
?<< span="">變量ID>: 指出要復(fù)制的變量。變量ID的格式可以是十進(jìn)制的,也可以是十六進(jìn)制的。
?<< span="">回車(chē)>: 回車(chē)鍵,指令結(jié)束。
發(fā)送過(guò)c命令后,驅(qū)動(dòng)器會(huì)有以下返回:
? ok<< span="">回車(chē)> 表示指令被正常接收
? e << span="">錯(cuò)誤號(hào)>(回車(chē)) 表示指令無(wú)法被接收。請(qǐng)參考HHUTU錯(cuò)誤代碼UTHUH中查看錯(cuò)誤原因。
c命令示例
指令 返回值 說(shuō)明
c r0x30 ok 將變量0x30的值從RAM中拷貝到flash中。ok表示指令被正確執(zhí)行。
cf0x30 ok 將變量0x30的值從flash中拷貝到RAM中。ok表示指令被正確執(zhí)行。
2.5. 驅(qū)動(dòng)器復(fù)位(r)命令
r 命令用來(lái)立即對(duì)驅(qū)動(dòng)器進(jìn)行復(fù)位。該命令不需要其它參數(shù)。驅(qū)動(dòng)器復(fù)位后,波特率設(shè)置為默認(rèn)值9600.
r 命令的語(yǔ)法格式如下:
[可選節(jié)點(diǎn)ID] r<< span="">回車(chē)>
其中:
?[可選節(jié)點(diǎn)ID]: 是多點(diǎn)CAN網(wǎng)絡(luò)中的CAN節(jié)點(diǎn)地址。范圍是0-127. 后面要跟一個(gè)空格。
?r: 是復(fù)位命令代碼。
?<< span="">回車(chē)>: 回車(chē)鍵,指令結(jié)束。
該命令發(fā)送后,驅(qū)動(dòng)器不返回任何值。
r命令示例
指令 返回值 說(shuō)明
r {無(wú)返回值} 驅(qū)動(dòng)器被復(fù)位
注意:如果復(fù)位命令發(fā)送給了多點(diǎn)網(wǎng)絡(luò)中的一個(gè)驅(qū)動(dòng)器,會(huì)收到32號(hào)錯(cuò)誤代碼:“CAN Network communication failure”。這是因?yàn)樵谙蚓W(wǎng)關(guān)驅(qū)動(dòng)器(連有串口線(xiàn)的那個(gè))應(yīng)答前,驅(qū)動(dòng)器進(jìn)行了復(fù)位。這種情況下可以直接忽略該錯(cuò)誤。
2.6. 軌跡生成(t)命令
t 命令控制軌跡生成器。它可以初始化一個(gè)新的運(yùn)動(dòng),更新一個(gè)正在運(yùn)行中的運(yùn)動(dòng),或開(kāi)始一個(gè)回零序列。也可以停止一個(gè)運(yùn)動(dòng)的執(zhí)行。
t 命令的語(yǔ)法格式如下:
[可選節(jié)點(diǎn)ID] t << span="">子命令><< span="">回車(chē)>
其中:
?[可選節(jié)點(diǎn)ID]: 是多點(diǎn)CAN網(wǎng)絡(luò)中的CAN節(jié)點(diǎn)地址。范圍是0-127. 后面要跟一個(gè)空格。
?t: 是軌跡命令代碼,后面跟一個(gè)空格。
?<< span="">子命令> :0 = 停止執(zhí)行中的運(yùn)動(dòng), 1 = 初始化/更新運(yùn)動(dòng), 2 = 初始化回零序列
?<< span="">回車(chē)>:回車(chē)符,緊跟在子命令后,表示指令結(jié)束。
發(fā)送過(guò)t命令后,驅(qū)動(dòng)器會(huì)有以下返回:
? ok<< span="">回車(chē)> 表示指令被正常接收。注意ok僅表示命令被驅(qū)動(dòng)器接收。請(qǐng)查看軌跡狀態(tài)寄存器,確認(rèn)運(yùn)動(dòng)確實(shí)被初始化了。
? e << span="">錯(cuò)誤號(hào)>(回車(chē)) 表示指令無(wú)法被接收。請(qǐng)參考HHUTU錯(cuò)誤代碼UTHUH中查看錯(cuò)誤原因。
t命令示例
指令 返回值 說(shuō)明
t 1 ok 初始化一個(gè)運(yùn)動(dòng)。
t2 e 33 本想初始化一個(gè)回零序列。返回了33號(hào)錯(cuò)誤(ASCII命令語(yǔ)法錯(cuò)誤)。注意命令和子命令之間沒(méi)有空格。
2.6. 寄存器讀寫(xiě)(t)命令
寄存器命令(i)用來(lái)讀寫(xiě)CVM程序中的32個(gè)內(nèi)部寄存器。
i 命令的語(yǔ)法格式如下:
[可選節(jié)點(diǎn)ID] i
其中:
?[可選節(jié)點(diǎn)ID]: 是多點(diǎn)CAN網(wǎng)絡(luò)中的CAN節(jié)點(diǎn)地址。范圍是0-127. 后面要跟一個(gè)空格。
?i: 是寄存器命令代碼。后面跟一個(gè)空格。
?
?<< span="">數(shù)值>: 是要寫(xiě)進(jìn)寄存器中的新值。如果命令中沒(méi)有此項(xiàng),就表示要讀取寄存器中的值。數(shù)值可以整型或十六進(jìn)制格式發(fā)送。
?<< span="">回車(chē)>: 回車(chē)符,緊跟在寄存器號(hào)之后或者數(shù)值之后,表示指令結(jié)束。
發(fā)送過(guò)i命令后,驅(qū)動(dòng)器會(huì)有以下返回:
? ok<< span="">回車(chē)> 表示指令被正常接收,并且數(shù)值已經(jīng)被寫(xiě)入到寄存器中。
? r [數(shù)值]<< span="">回車(chē)> 其中數(shù)值就是寄存器中的內(nèi)容。
? e << span="">錯(cuò)誤號(hào)>(回車(chē)) 表示指令無(wú)法被接收。請(qǐng)參考HHUTU錯(cuò)誤代碼UTHUH中查看錯(cuò)誤原因。
i命令示例
指令 返回值 說(shuō)明
i r0 15 ok 向第一個(gè)寄存器(寄存器0)中寫(xiě)入15
i r0 r15 讀第一個(gè)寄存器中的值。示例顯示返回的是15
8 i r0 r 35 讀CAN網(wǎng)絡(luò)中節(jié)點(diǎn)號(hào)為8的驅(qū)動(dòng)器中寄存器0的值。示例顯示返回值是35
2.8. 多軸驅(qū)動(dòng)器ASCII信息格式
一些驅(qū)動(dòng)器可以支持多達(dá)三個(gè)軸的運(yùn)動(dòng)。當(dāng)向驅(qū)動(dòng)不止一個(gè)軸的驅(qū)動(dòng)器發(fā)送ASCII命令是,必須按以下格式指出設(shè)置的軸:
[<< span="">可選節(jié)點(diǎn)>].<< span="">軸號(hào)> << span="">命令代碼> [<< span="">命令參數(shù)>…]<< span="">回車(chē)>
其中:
?[可選節(jié)點(diǎn)ID]: 是多點(diǎn)CAN網(wǎng)絡(luò)中的CAN節(jié)點(diǎn)地址。范圍是0-127。后面緊跟小數(shù)點(diǎn)和軸號(hào)
?<< span="">軸號(hào)>: 指出是哪個(gè)軸(a,b,還是c)。軸號(hào)前面是一個(gè)小數(shù)點(diǎn),后面有一個(gè)空格。
?<< span="">命令代碼>: 單個(gè)字母的命令代碼。和上述一樣,可以是s,g, c, r, t, i.
?<< span="">命令參數(shù)>: 指出命令要做什么,怎么做。如果需要多個(gè)參數(shù),中間請(qǐng)以空格隔開(kāi)。
?<< span="">回車(chē)>: 回車(chē)鍵,指令結(jié)束。
多軸示例
指令 返回值 說(shuō)明
.b g r0x32 v1200 獲取b軸上RAM中0x32變量(電機(jī)實(shí)際位置)的值。示例返回1200
2.c g r0x32 v1200 獲取2號(hào)節(jié)點(diǎn)上的c軸RAM中0x32變量(電機(jī)實(shí)際位置)的值。
3. 控制環(huán)工作模式
工作模式由一個(gè)狀態(tài)變量(0x24)定義,賦予不同的值定義不同的工作模式,描述如下:
值 | 狀態(tài) |
0 | 未配置 |
1 | 電流環(huán)由編程電流值驅(qū)動(dòng) |
2 | 電流環(huán)由模擬輸入值驅(qū)動(dòng) |
3 | 電流環(huán)由脈沖 方向輸入驅(qū)動(dòng) |
4 | 電流環(huán)由內(nèi)部的函數(shù)生產(chǎn)器驅(qū)動(dòng) |
5 | 電流環(huán)由通過(guò)PWM輸入的UV命令驅(qū)動(dòng) |
11 | 速度環(huán)由編程的速度值驅(qū)動(dòng) |
12 | 速度環(huán)由模擬輸入值驅(qū)動(dòng) |
13 | 速度環(huán)由脈沖 方向輸入驅(qū)動(dòng) |
14 | 速度環(huán)由內(nèi)部的函數(shù)生產(chǎn)器驅(qū)動(dòng) |
21 | 伺服模式下,位置環(huán)由軌跡生成器驅(qū)動(dòng) |
22 | 伺服模式下,位置環(huán)由模擬輸入量驅(qū)動(dòng) |
23 | 伺服模式下,位置環(huán)由數(shù)字輸入(脈沖 方向,主編碼器等)驅(qū)動(dòng) |
24 | 伺服模式下,位置環(huán)由內(nèi)部函數(shù)生成器驅(qū)動(dòng) |
25 | 伺服模式下,位置環(huán)由凸輪函數(shù)驅(qū)動(dòng) |
30 | 伺服模式下,位置環(huán)由CANopen接口驅(qū)動(dòng) |
31 | 微步模式下,位置環(huán)由軌跡生成器驅(qū)動(dòng) |
33 | 微步模式下,位置環(huán)由數(shù)字輸入(脈沖 方向,主編碼器等)驅(qū)動(dòng) |
34 | 微步模式下,位置環(huán)由內(nèi)部函數(shù)生成器驅(qū)動(dòng) |
35 | 微步模式下,位置環(huán)由凸輪函數(shù)驅(qū)動(dòng) |
40 | 微步模式下,位置環(huán)由CANopen接口驅(qū)動(dòng) |
42 | 微步診斷模式,電流環(huán)由編程的電流值驅(qū)動(dòng),相角微步執(zhí)行 |
3.1. 電流控制模式
/電流模式
設(shè)置驅(qū)動(dòng)器工作在電流模式下,相關(guān)的變量說(shuō)明如下(R-RAM, F-Flash):
變量 | 所在存儲(chǔ)區(qū) | 描述 |
0x24 | R F | 0- 停止(Disable) 1- 編程電流換控制模式 |
0x02 | R F | 編程的電流值。單位:0.01A |
0x6a | R F | 電流上升斜率。單位:mA/Sec 若賦值為0則會(huì)產(chǎn)生階躍跳變 |
注意:驅(qū)動(dòng)器使能情況下,若要改變電流值及斜率,請(qǐng)先設(shè)置斜率。
示例:
期望驅(qū)動(dòng)器工作在電流控制模式,電流增加速率為0.5秒內(nèi)增加到2A。觀察電流值,當(dāng)電流到達(dá)2A后修改輸出控制電流在2秒內(nèi)減小到1A。
指令 返回值 說(shuō)明
s r0x6a 4000 ok 電流增加速率4A/Sec
s r0x02 200 ok 設(shè)置期望電流為2A
s r0x24 1 ok 啟動(dòng)電流控制模式,輸出電流以4A/Sec速度增加
用以下命令觀察實(shí)際輸出電流值
g r0x0c v 150 通過(guò)驅(qū)動(dòng)器讀取實(shí)際電流值,該處顯示的是1.5A
當(dāng)電流到達(dá)2A時(shí),改變電流速率及期望值
s r0x6a 500 ok 修改電流速率為0.5A/Sec
s r0x02 100 ok 修改給定值為1A,電流將以0.5A/Sec的速率減小
停止驅(qū)動(dòng)器控制
s r0x24 0 ok Disable驅(qū)動(dòng)器
3.1.3. PWM控制速度模式
該模式下,輸出電流和輸入的PWM的占空比成比例關(guān)系。多數(shù)的應(yīng)用中PWM輸入的設(shè)置都是通過(guò)TSM2軟件來(lái)實(shí)現(xiàn)的,并且運(yùn)行過(guò)程中不做修改。
相關(guān)的變量說(shuō)明如下:
變量 | 存儲(chǔ)區(qū) | 描述 |
0x24 | R F | 0 -停止 3-PWM控制電流模式 |
0xa9 | R F | 比例因數(shù):100%占空比對(duì)應(yīng)的電流值。單位:0.01A |
0xa8 | R F | PWM輸入設(shè)置(通常由TSM2軟件設(shè)置)。具體參考表1-1 |
注意:在PWM輸入控制電流和速度模式中都使用了0xa9和0xa8變量,在改變模式時(shí)請(qǐng)確認(rèn)這些值是正確的。
表1-1
PWM輸入類(lèi)型 | PWM輸入反轉(zhuǎn) | 符號(hào)輸入反轉(zhuǎn) | 允許100%輸出 | 值 |
50% | No | -- | No | 0x00 |
50% | No | -- | Yes | 0x08 |
50% | Yes | -- | No | 0x02 |
50% | Yes | -- | Yes | 0x0a |
100% | No | No | No | 0x01 |
100% | No | No | Yes | 0x09 |
100% | No | Yes | No | 0x05 |
100% | No | Yes | Yes | 0x0d |
100% | Yes | No | No | 0x03 |
100% | Yes | No | Yes | 0x0b |
100% | Yes | Yes | No | 0x07 |
3.2. 速度控制模式
3.2.2. 模擬量控制速度模式
該模式下,速度輸出與模擬輸入電壓成比例關(guān)系。
相關(guān)的變量說(shuō)明如下:
變量 | 存儲(chǔ)區(qū) | 描述 |
0x24 | R F | 0-停止 12-模擬量控制速度模式 |
0x19 | R F | 比例因數(shù):10V模擬電壓對(duì)應(yīng)速度值。單位:0.1counts/s |
0x26 | R F | 模擬輸入死區(qū)。單位:mV |
0x1a | R F | 模擬輸入偏移量。 單位:mV |
0x36 | R F | 加速度限制。單位:1000counts/SecondP2P |
0x37 | R F | 減速度限制。單位:1000counts/SecondP2P |
0x39 | R F | 急速停止速率。單位:1000counts/SecondP2P |
注意:位置、速度和電流模式下都會(huì)用到0x19,0x26, 0x1a變量,在這些模式之間切換工作是請(qǐng)先確認(rèn)這些值是正確的。
3.3.1. 位置控制模式下軌跡變量更新
當(dāng)驅(qū)動(dòng)器進(jìn)入位置控制模式時(shí),軌跡變量(速度、加速度和減速度)會(huì)被拷貝到軌跡生成器中。設(shè)置位置控制模式后,若要改變其中的任一個(gè)的值,需要在發(fā)送新的值后再發(fā)一個(gè)t 1命令。
3.3.3. 模擬量位置控制模式
該模式下,軸的位置由外部輸入的模擬量來(lái)決定。
模擬位置命令按相對(duì)運(yùn)動(dòng)命令來(lái)執(zhí)行。使能驅(qū)動(dòng)器就會(huì)讀取模擬電壓值。電壓的任何改變都會(huì)改變軸的相對(duì)位移,等價(jià)于使能后從那點(diǎn)開(kāi)始的電壓的改變量。要使用絕對(duì)位置,則每次驅(qū)動(dòng)器使能時(shí)都要執(zhí)行回初始點(diǎn)的操作。
相關(guān)的變量說(shuō)明如下:
變量 | 存儲(chǔ)區(qū) | 描述 |
0x24 | R F | 0 -停止 22-模擬量位置控制模式 |
0x19 | R F | 比例因數(shù):10V電壓輸入對(duì)應(yīng)的位置。單位:counts |
0x26 | R F | 死區(qū)。單位:mV |
0x1a | R F | 模擬輸入偏移量。該模式下請(qǐng)?jiān)O(shè)置為0 |
0xcb | R F | 最大速度。單位:0.1counts/second |
0xcc | R F | 最大加速度。單位:10counts/secondP2P |
0xcd | R F | 最大減速度。單位:10counts/secondP2P |
0xcf | R F | 急速停止速度。單位:10counts/secondP2P |
注意:
1)位置、速度和電流模式下都會(huì)用到0x19,0x26, 0x1a變量,在這些模式之間切換工作時(shí)請(qǐng)先確認(rèn)這些值是正確的。2)要想改變模擬量對(duì)應(yīng)的方向,可以將比例因數(shù)設(shè)為負(fù)值。
&方向位置控制模式
該模式下,位置指令由一個(gè)數(shù)字端口的脈沖數(shù)給定,方向由另一個(gè)數(shù)字輸入端口的邏輯電平?jīng)Q定。
比例因數(shù)設(shè)置每個(gè)輸入脈沖所對(duì)應(yīng)的位置指令的系數(shù),單位是脈沖數(shù)counts。該系數(shù)以?xún)蓚€(gè)16位字的形式存放在變量0xa9中,第一個(gè)字是分子(位置脈沖數(shù)),第二個(gè)字是分母(輸入脈沖數(shù))。例如,要實(shí)現(xiàn)一個(gè)外部脈沖輸入對(duì)應(yīng)10個(gè)位置脈沖的話(huà),系數(shù)就應(yīng)該設(shè)置為10/1。為便于發(fā)送,需將它們轉(zhuǎn)換成十六進(jìn)制格式,這樣系數(shù)應(yīng)該是0x000a / 0x0001。最后結(jié)合指令代碼到一起發(fā)送給驅(qū)動(dòng)器:s r0xa9 0x000a0001.
要改變方向,請(qǐng)將分子改成負(fù)值。但是注意負(fù)數(shù)的十六進(jìn)制表達(dá)方式。例如將上面的例子的方向改變的話(huà),系數(shù)是-10/1,換成十六進(jìn)制,-10是0xfff6,發(fā)送的指令就變成了
S r0xa9 0xfff60001.
相關(guān)的變量說(shuō)明如下:
變量 | 存儲(chǔ)區(qū) | 描述 |
0x24 | R F | 0 -停止 23-數(shù)字輸入位置模式-伺服電機(jī) 33-數(shù)字輸入位置模式-步進(jìn)電機(jī) |
0xa8 | R F | 數(shù)字命令設(shè)置 脈沖 方向 0 = 上升沿增加位置 4096 = 下降沿增加位置 |
0xa9 | R F | 比例因數(shù):輸出脈沖/輸入脈沖數(shù) |
0xcb | R F | 最大速度。單位:0.1counts/second |
0xcc | R F | 最大加速度。單位:10counts/secondP2P |
0xcd | R F | 最大減速度。單位:10counts/secondP2P |
0xcf | R F | 急速停止速度。單位:10counts/secondP2P |
3.4. 參數(shù)限制及增益
變量0x90(僅位于RAM中)控制驅(qū)動(dòng)器串口的波特率。若要改變波特率,只需向該變量中寫(xiě)入一個(gè)新值。例如要將波特率由9600改成115200,發(fā)送命令s r0x90 115200, 如果返回值是ok,表示修改成功,但是該返回值是按新的波特率115200通訊的。
一旦輸入回車(chē)之后,就不能再以9600的波特率發(fā)送命令了。如果還以9600發(fā)送命令,就有可能被驅(qū)動(dòng)器誤以為是一個(gè)波特率復(fù)位命令,從而導(dǎo)致波特率從新被調(diào)回到9600. 此外,設(shè)置過(guò)新的波特率后,至少要間隔100毫秒的時(shí)間才可以開(kāi)始以新的波特率跟驅(qū)動(dòng)器通訊。
在讀0x90變量的值時(shí),注意讀出來(lái)的值和設(shè)置的值可能并不完全一樣。這是因?yàn)轵?qū)動(dòng)器根據(jù)內(nèi)部微處理器的時(shí)鐘頻率將波特率調(diào)整到了和設(shè)定值接近的一個(gè)值了。
3.4.2. 設(shè)置電流環(huán)限制和增益
速度環(huán)限制變量:
變量ID | 存儲(chǔ)區(qū) | 描述 |
0x3a | R F | 速度環(huán)速度限制。單位:0.01counts/second |
0x36 | R F | 速度環(huán)加速度限制。單位:1000counts/secondP2P |
0x37 | R F | 速度環(huán)減速度限制。單位:1000counts/secondP2P |
0xcf | R F | 急停速率。單位:10counts/secondP2P |
速度環(huán)增益變量:
0x27 | R F | 速度環(huán)比例增益(Vp) |
0x28 | R F | 速度環(huán)積分增益(Vi) |
3.4.3. 設(shè)置速度環(huán)限制和增益
位置環(huán)各參數(shù)的限制請(qǐng)參考第三章中編程位置控制模式。
位置環(huán)增益變量:
變量ID | 存儲(chǔ)區(qū) | 描述 |
0x30 | R F | Pp – 位置環(huán)比例增益 |
0x33 | R F | Vff – 速度前饋 |
0x34 | R F | Aff – 加速度前饋 |
0xe3 | R F | 位置環(huán)增益乘法器。100等價(jià)于1個(gè)因子 |
3.4.5. 監(jiān)控狀態(tài)
狀態(tài)寄存器變量(0xa0):
該變量提供了驅(qū)動(dòng)器的狀態(tài)信息。0xa0是只讀的,并且只在RAM中。各位代表的意義如下:
位 | 意義 |
0 | 短路 |
1 | 驅(qū)動(dòng)器過(guò)溫 |
2 | 過(guò)壓 |
3 | 欠壓 |
4 | 電機(jī)溫度傳感器有效 |
5 | 反饋錯(cuò)誤 |
6 | 電機(jī)相位錯(cuò)誤 |
7 | 電流輸出受限 |
8 | 電壓輸出受限 |
9 | 正限位開(kāi)關(guān)有效 |
10 | 負(fù)限位開(kāi)關(guān)有效 |
11 | 使能輸入無(wú)效 |
12 | 軟件禁用驅(qū)動(dòng)器 |
13 | 正在停止電機(jī) |
14 | 電機(jī)制動(dòng)有效 |
15 | PWM輸出無(wú)效 |
16 | 正向軟件限位條件 |
17 | 反向軟件限位條件 |
18 | 跟隨錯(cuò)誤 |
19 | 跟隨警告 |
20 | 驅(qū)動(dòng)器復(fù)位 |
21 | 位置回轉(zhuǎn)。位置變量不可能無(wú)限增加。當(dāng)達(dá)到一定值之后就會(huì)回來(lái),這種計(jì)數(shù)方式稱(chēng)作位置回轉(zhuǎn)或取模計(jì)數(shù)。該位只在位置回轉(zhuǎn)時(shí)有效 |
22 | 驅(qū)動(dòng)器錯(cuò)誤。發(fā)生了配置成鎖定的驅(qū)動(dòng)器錯(cuò)誤。關(guān)于鎖定錯(cuò)誤的更多信息,請(qǐng)參考TSM2用戶(hù)指導(dǎo)手冊(cè)。 |
23 | 達(dá)到了速度上限值 |
24 | 達(dá)到了加速度上限值 |
25 | 位置超出了跟隨窗口 |
26 | 回初始點(diǎn)開(kāi)關(guān)有效 |
27 | 運(yùn)動(dòng)之末電機(jī)還未達(dá)到指定位置。 |
28 | 速度窗口。當(dāng)絕對(duì)速度誤差超過(guò)速度窗口值時(shí)置位 |
29 | 相位沒(méi)有初始化。如果沒(méi)有霍爾,驅(qū)動(dòng)器初始化相位前該位一直有效 |
30 | 命令錯(cuò)誤。PWM或其它命令信號(hào)有誤 |
31 | 未定義 |
錯(cuò)誤寄存器變量(0xa4):
錯(cuò)誤寄存器變量顯示了已發(fā)生的鎖定錯(cuò)誤。0xa4只存在RAM中。各位所代表的意義如下:
位 | 錯(cuò)誤描述 |
0 | CRC失敗。該錯(cuò)誤很重要不能清除 |
1 | 驅(qū)動(dòng)器內(nèi)部錯(cuò)誤。該錯(cuò)誤很重要不能清除 |
2 | 短路 |
3 | 驅(qū)動(dòng)器過(guò)溫 |
4 | 電機(jī)過(guò)溫 |
5 | 過(guò)壓 |
6 | 欠壓 |
7 | 反饋錯(cuò)誤 |
8 | 相位錯(cuò)誤 |
9 | 跟隨錯(cuò)誤 |
10 | 過(guò)流 |
11 | FPGA錯(cuò)誤。該錯(cuò)誤很重要不能清除。如果下載固件時(shí)發(fā)生該錯(cuò)誤,重新下載可能會(huì)清除該錯(cuò)誤 |
12 | 輸入命令丟失 |
13-31 | 保留 |
注意:鎖定的錯(cuò)誤發(fā)生時(shí),狀態(tài)寄存器(0xa0)會(huì)置位。要清除錯(cuò)誤,可以向相應(yīng)的錯(cuò)誤寄存器(0xa4)中寫(xiě)1。
3.4.7. 讀數(shù)字輸入
輸入狀態(tài)變量(0xa6):
可以通過(guò)0xa6變量讀取驅(qū)動(dòng)器可編程數(shù)字輸入的高低電平狀態(tài)。每個(gè)位所對(duì)應(yīng)的輸入號(hào)如下表所示。如果該端口是高電平,則相應(yīng)的位置1,低電平則置0.
例如,如果讀到的0xa6的值是33,轉(zhuǎn)換成二進(jìn)制是100001,由此可知IN1和IN6是高電平,其它輸入口是低電平。
0xa6是只讀的,并且只在RAM中。各位映射值如下所示。
注意:不同的驅(qū)動(dòng)器,其可編程數(shù)字輸入號(hào)是不同的。具體請(qǐng)參考相應(yīng)文檔。
位 | 輸入 |
0 | 數(shù)字輸入口1 |
1 | 數(shù)字輸入口2 |
2 | 數(shù)字輸入口3 |
3 | 數(shù)字輸入口4 |
4 | 數(shù)字輸入口5 |
5 | 數(shù)字輸入口6 |
6 | 數(shù)字輸入口7 |
7 | 數(shù)字輸入口8 |
8 | 數(shù)字輸入口9 |
9 | 數(shù)字輸入口10 |
10 | 數(shù)字輸入口11 |
11 | 數(shù)字輸入口12 |
12 | 數(shù)字輸入口13 |
13 | 數(shù)字輸入口14 |
14 | 數(shù)字輸入口15 |
15 | 數(shù)字輸入口16 |
3.4.8. 讀 --- 會(huì)報(bào)這種錯(cuò)誤的例子 3 未知命令代碼i, r, s, g等命令 命令提供的數(shù)據(jù)過(guò)多 ID --- 如10 數(shù)據(jù)值超出范圍 14 未知軸狀態(tài)情況 --- 如flash上 19 運(yùn)動(dòng)速度限制非法 21 運(yùn)動(dòng)減速度限制非法 jerk限制非法 27 ASCII發(fā)命令 ID號(hào) CAN網(wǎng)絡(luò)通信失敗 --- 如<span style="font-size:10.0pt;font-family:"">g t0x18 or g r 0x18 or g r
提交
泰科智能 直線(xiàn)-力矩-音圈直驅(qū)伺服系統(tǒng)
泰科智能 帶抱閘脈沖型閉環(huán)步進(jìn)伺服系統(tǒng)
伺服電機(jī)的工作原理與特點(diǎn)
泰科智能 直線(xiàn)電機(jī)及平臺(tái)
直線(xiàn)伺服電動(dòng)機(jī)及其應(yīng)用